package humanMirror.model.advisor;

import humanMirror.model.analyzer.Consultation;
import humanMirror.model.analyzer.OrganAnalyzer;
import humanMirror.model.analyzer.OrganAnalyzerBuilder;
import humanMirror.model.human.Human;
import humanMirror.model.human.SomeConstants;

public class OrganAdvisor {
    OrganAnalyzer analyzer;
    private final Human pokemon;
    private Consultation consultation;

    public OrganAdvisor(Human pokemon, int organId) {
        this.pokemon = pokemon;
        SomeConstants.Organs organ = SomeConstants.Organs.numberToOrgan(organId);
        this.analyzer = OrganAnalyzerBuilder.build(organ);
        //consultation = new Consultation("I am abstract doctor");
    }

    public Consultation getConsultation() throws CloneNotSupportedException {
        return (Consultation) consultation.clone();
    }

    public void viewOrgan() {
        consultation = analyzer.performOrganConsultation(pokemon);
    }
}